**1. 干什么** 用极简 C 程序分别复刻 ls 的目录枚举与 cat 的字节搬运,剥去选项、颜色与格式化外壳,暴露内核侧的最小循环结构。 **2. 谁在调** * 用户态主体:自编的 mini\_ls、mini\_cat 进程。 * C 库封装层:`opendir`/`readdir`/`closedir`与`open`/`read`/`write`/`close`。 * 内核态主体:对应`open`、`getdents64`、`read`、`write`、`close`服务例程。 **3. 做什么业务** mini\_ls 打开目录后循环取条目并打印名称。mini\_cat 打开文件后循环把字节从内核缓冲区搬到标准输出,读到末尾即停止。两段程序均不做格式解析,只保留最小读写循环。 **4. 组件清单** * 目录流`DIR`与`struct dirent` * 文件描述符与用户态缓冲区`buf[4096]` * 错误处理`perror`与返回码 **5. 最小可运行** ``` /* mini_ls.c —— 复刻 ls:opendir/r